package com.allways.dubbo.mdm.service.questionnaire;

import java.util.List;

import com.allways.dubbo.mdm.beans.questionnaire.Questionnaire;

/**
 * <p>ClassName: IQuestionnaireService</p>
 * <p>Description: 调查问卷Service接口</p>
 * <p>Author: weih</p>
 * <p>Date: 2017-05-23</p>
 */
public interface IQuestionnaireService {
    /**
     * <p>Description: 新增调查问卷</p>
     * @param questionnaire 调查问卷对象
     * @return 受影响的记录数
     */
    int addQuestionnaire(Questionnaire questionnaire);
    
    /**
     * <p>Description: 更新调查问卷</p>
     * @param questionnaire 调查问卷对象
     * @return 受影响的记录数
     */
    int updateQuestionnaire(Questionnaire questionnaire);
    
    /**
     * <p>Description: 删除调查问卷</p>
     * @param questionnaire 调查问卷对象
     * @return 受影响的记录数
     */
    int deleteQuestionnaire(Questionnaire questionnaire);
    
    /**
     * <p>Description: 根据Code查询调查问卷对象</p>
     * @param code 调查问卷 code
     * @return 调查问卷对象
     */
    Questionnaire getQuestionnaireByCode(String code);
    
   
    
   
    /**
     * 得到调查问卷记录数
     * @param questionnaire 查询条件
     * @return 记录总条数
     */
    long getQuestionnaireCount(Questionnaire questionnaire);

    /**
     *  查询调查问卷记录明细，一次性最多返回2000行调查问卷数据
     * @param questionnaire  查询条件
     * @param firstRow  首行
     * @param lastRow  末行
     * @return  符合条件的记录列表
     */
    List<Questionnaire> queryQuestionnaires(Questionnaire questionnaire ,int firstRow, int lastRow);
}
